All Questions
20 questions
1vote
2answers
300views
Scheme's define in Common Lisp
In Common Lisp, we have to use the let form to declare a new lexically-scoped variable. This means that the code either looks like that written in C89 (all variables declared on top of scope), or ...
4votes
3answers
620views
Can Lisp keywords be protected?
Why aren't lisp keywords protected? For example, (define a 3) (define define +) #makes define useless (define a 1) #outputs 4, instead of assigning 1 to a. Is this flexibility so important? Or even ...
1vote
1answer
503views
Scheme : Lambda inside quoted list is unbound
I'm programming a small lisp/scheme interpreter and I came across the following situation : When a quoted list contains lambdas, they are not parsed as lambdas. Here is a sample code (live on repl....
22votes
4answers
4kviews
What about LISP, if anything, makes it easier to implement macro systems?
I'm learning Scheme from the SICP and I'm getting the impression that a big part of what makes Scheme and, even more so, LISP special is the macro system. But, since macros are expanded at compile-...
5votes
1answer
2kviews
What features does MIT-Scheme have that make it ideal for SICP?
I've been thinking about trying to get through the SICP again, this time well-armed with a better idea of what the SICP is meant to accomplish, and being older and wiser than my first attempt back in ...
7votes
1answer
3kviews
What's the difference between lists constructed by quote and those constructed by cons in Scheme?
(define ls1 '((1 . 2) 1 . 2)) (set-car! (car ls1) 6) ls1 (define ls2 (cons '(1 . 2) '(1 . 2))) (set-car! (car ls2) 6) ls2 After set-car!ing, ls1 will be ((6 . 2) 1 . 2) and ls2 ((6 . 2) 6 . 2). It ...
4votes
3answers
566views
Obscurity of Lisp in collaborative projects [closed]
I'm playing with the idea of learning Scheme but I have a few misgivings. From what I understand Lisp makes heavy use of macros that allow programmers to drastically change the language itself. I ...
8votes
4answers
3kviews
What makes Common Lisp "big"? [closed]
I've been learning both Common Lisp and Racket, and one thing that I consistently hear is that Racket is a much "smaller" language than Common Lisp. I was wondering what this really meant. As far as I ...
4votes
3answers
389views
Is Reading the Spec Enough? [closed]
This question is centered around Scheme but really could be applied to any LISP or programming language in general. Background So I recently picked up Scheme again having toyed with it once or twice ...
2votes
2answers
830views
Why does Scheme r5rs have no module system [closed]
With all the controversy surrounding scheme r6rs, I stuck with r5rs and I am wondering why the designers decided to not implement a module system. How does one organize code in this?
5votes
2answers
2kviews
What is a dotted pair's analogy in other Lisp implementations?
What is Scheme's dotted pair construct analogous to in other Lisp implementations? I can make a vector or list quite easily, and understand those in Clojure, even though the syntax is a little ...
23votes
6answers
6kviews
How useful are Lisp macros?
Common Lisp allows you to write macros that do whatever source transformation you want. Scheme gives you a hygienic pattern-matching system that lets you perform transformations as well. How useful ...
7votes
1answer
503views
Process arbitrarily large lists without explicit recursion or abstract list functions?
This is one of the bonus questions in my assignment. The specific questions is to see the input list as a set and output all subsets of it in a list. We can only use cons, first, rest, empty?, empty, ...
26votes
3answers
11kviews
On the path to Enlightenment: Scheme, Common Lisp, Clojure? [closed]
A lot of people smarter than me keep writing about when you learn Lisp it makes you a better programmer because you "get it". Maybe all I hear about Lisp(s) changing your life is just a big practical ...
18votes
2answers
3kviews
Is IronScheme complete enough or stable enough to be worth learning?
IronScheme is mentioned on Wikipedia as a successor to a failed project called IronLisp, bringing Lisp to CLR and .NET, the way Clojure does for the JVM. Does anyone have experience with this language?...